I've written this function to initialize a 2D array:
Code:
template<typename T, int iElements> void Initialize2D( T* Array[][iElements], int iElements1, int iElements2, T Value )
{
std::cout << "1"; // These are for debugging
std::cin.get();
for( int I = 0; I < iElements1; I++ )
{
std::cout << "I" << I;
std::cin.get();
for( int C = 0; C < iElements2; C++ )
{
std::cout << "C" << C;
std::cin.get();
*Array[I][C] = Value;
}
}
std::cout << "2";
std::cin.get();
}
I call it like this:
Code:
bool* Visited[10][10];
Initialize2D<bool, 10>( Visited, 10, 10, false );
The output:
Code:
I0
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
I1
C0
*Crash*
So, basically, *Array[1][0] = false is causing a crash. I have no idea why though. Any ideas?